package social.server.historicActivity;

import java.util.Date;

/**
 * Interface que representa uma atividade, atividade essa mantida no historico
 * do usuario, com o fim de manter um historico com as atividas do usuario.
 * 
 * @author Grupo: Brunna Amorim, Caio Libanio, Diego de Lima, Dimitre Andrew e
 *         Rafael Cavalcante
 * 
 */
public interface HistoricActivity {

	/**
	 * Retorna a data na qual a atividade foi criada.
	 * 
	 * @return Um objeto "Date" representando a data na qual a atividade foi
	 *         criada.
	 */
	public Date getDate();

	/**
	 * Compara duas atividades.
	 * 
	 * @Param activity
	 * @return "True" caso sejam iguais, "False" caso contrario.
	 */
	public boolean equals(HistoricActivity activity);

	/**
	 * Retorna uma "String" menssagem representando a atividade.
	 * 
	 * @return Menssagem representando a atividade.
	 */
	public String getActivity();

	/**
	 * Constroi uma "String" represenatando uma atividade apartir dos dados
	 * recebidos no construtor.
	 */
	public void buildActivity();
	
	/**
	 * Compara duas datas tomando como parametros datas pertencentes a classe
	 * "Date".
	 *  
	 * @param dateActivity
	 *            Primeira data passada como parametro.
	 * @return True se a data do objeto for maior, false caso contrario.
	 */	
	public boolean compareDates(Date dateActivity);
}
